package com.tfy.liquor.service.impl;

import com.tfy.liquor.bean.CartInfo;
import com.tfy.liquor.dao.CartInfoDao;
import com.tfy.liquor.service.CartInfoService;
import com.tfy.liquor.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;

@Service
public class CartInfoServiceImpl implements CartInfoService {
    @Autowired
    private CartInfoDao cartInfoDao;

    // 添加购物车
    @Override
    public Boolean addCartInfo(CartInfo cartInfo) {
        // 设置当前时间为创建时间
        cartInfo.setCreateTime(DateUtil.getNowDateTime());
        // 判断购物车中是否有相同的产品
        Integer num = cartInfoDao.countCartInfoProductNum(cartInfo);
        if (null == num || num <= 0) {
            return cartInfoDao.addCartInfo(cartInfo) > 0;
        } else {
            // 如果有相同的产品，则该产品的数量增加
            cartInfo.setNum(num + cartInfo.getNum());
            return cartInfoDao.editCartInfoProductNum(cartInfo) > 0;
        }
    }

    // 根据用户编号获取购物车信息
    @Override
    public ArrayList<CartInfo> getCartInfoByUserId(Integer userId) {
        return cartInfoDao.getCartInfoByUserId(userId);
    }

    // 根据购物车编号删除记录
    @Override
    public Boolean delCartInfoById(Integer id) {
        return cartInfoDao.delCartInfoById(id) > 0;
    }

    // 根据用户编号删除记录
    @Override
    public Boolean delCartInfoByUserId(Integer userId) {
        return cartInfoDao.delCartInfoByUserId(userId) > 0;
    }
}
